package Box2D.Dynamics.Controllers
{
	import Box2D.Common.Math.b2Vec2;

	public class b2BuoyancyControllerDef extends b2ControllerDef
	{
		private var _normal:b2Vec2;
		private var _velocity:b2Vec2;
		private var _gravity:b2Vec2;
		public function b2BuoyancyControllerDef()
		{
			super(callDirect("b2BuoyancyControllerDef_new"));
			_normal = new b2Vec2(0,0,wrapper+4);
			_velocity = new b2Vec2(0,0,wrapper+20);
			_gravity = new b2Vec2(0,0,38);
		}
		public override function get cls():Class{return b2BuoyancyController}
		public function get normal():b2Vec2{return _normal}
		public function set normal(value:b2Vec2):void{_normal.Copy(value)}
		
		public function get offset():Number{return getNumber(12)}
		public function set offset(value:Number):void{setNumber(12,value)}
		
		public function get density():Number{return getNumber(16)}
		public function set density(value:Number):void{setNumber(16,value)}
		
		public function get velocity():b2Vec2{return _velocity}
		public function set velocity(value:b2Vec2):void{_velocity.Copy(value)}
		
		public function get linearDrag():Number{return getNumber(28)}
		public function set linearDrag(value:Number):void{setNumber(28,value)}
		
		public function get angularDrag():Number{return getNumber(32)}
		public function set angularDrag(value:Number):void{setNumber(32,value)}
		
		public function get useDensity():Boolean{return getBoolean(36)}
		public function set useDensity(value:Boolean):void{setBoolean(36,value)}
		
		public function get useWorldGravity():Boolean{return getBoolean(37)}
		public function set useWorldGravity(value:Boolean):void{setBoolean(37,value)}
		
		public function get gravity():b2Vec2{return _gravity}
		public function set gravity(value:b2Vec2):void{_gravity.Copy(value)}
		
	}
}